package com.yxinsur.imc.business.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxinsur.imc.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 我的保险产品库(险种)对象 form
 * 
 * @author imc
 * @date 2021-03-26
 */
@Data
@ToString
public class InsRateVo
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private String id;

    /** 险种表外键 */
    @ApiModelProperty( "险种表外键")
    private Long repoInsId;

    /** 机构id */
    @ApiModelProperty( "机构id")
    private Long orgId;

    /** 机构id */
    @ApiModelProperty( "机构名称")
    private String orgName;

    /** 缴费期间下限(含) */
    @ApiModelProperty( "缴费期间起(含)")
    private Integer chargePeriodLowerValue;

    /** 缴费期间上限(含) */
    @ApiModelProperty( "缴费期间止(含)")
    private Integer chargePeriodUpperValue;

    /** 保障期间-下限(含) */
    @ApiModelProperty( "保障期间起(含)")
    private Integer coveragePeriodLowerValue;

    /** 保障期间-上限(含) */
    @ApiModelProperty( "保障期间止(含)")
    private Integer coveragePeriodUpperValue;

    /** 领取年龄 */
    @ApiModelProperty( "领取年龄起(含)")
    private Integer pensionAgeLower;

    /** 领取年龄 */
    @ApiModelProperty( "领取年龄止(含)")
    private Integer pensionAgeUpper;

    /** 缴费频率类型 */
    @ApiModelProperty( "缴费频率类型")
    private String chargeIntervalEnum;

    /** 保单年度下限(含) */
    @ApiModelProperty( "保单年度下限(含)")
    private Integer payYearLower;

    /** 保单年度上限(含) */
    @ApiModelProperty( "保单年度上限(含)")
    private Integer payYearUpper;

    /** 费率类型[R折标率C佣金率F基础手续费率] */
    @ApiModelProperty( "费率类型[R折标率C佣金率F基础手续费率]")
    private String rateType;

    /** 方案ID */
    @ApiModelProperty( "方案ID")
    private Long insSchemeId;

    /** 方案名称 */
    @ApiModelProperty( "方案名称")
    private String insSchemeValue;

    /** 费率值 */
    @ApiModelProperty( "费率值")
    private BigDecimal rate;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty( "生效日期")
    private Date startTime;

    /** 失效日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty( "失效日期")
    private Date endTime;

    /** 扩展值1 */
    @ApiModelProperty( "扩展值1")
    private String factor1Value;

    /** 扩展值2 */
    @ApiModelProperty( "扩展值2")
    private String factor2Value;

    /** 扩展值3 */
    @ApiModelProperty( "扩展值3")
    private String factor3Value;
}
